package com.carrental.vehicle.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.carrental.vehicle.entity.VehicleSeries;

import java.util.List;

/**
 * 车辆系列服务接口
 */
public interface VehicleSeriesService extends IService<VehicleSeries> {

    /**
     * 根据ID获取系列
     *
     * @param id 系列ID
     * @return 系列信息
     */
    VehicleSeries getSeriesById(Long id);

    /**
     * 保存或更新系列
     *
     * @param vehicleSeries 系列信息
     * @return 是否成功
     */
    boolean saveOrUpdateSeries(VehicleSeries vehicleSeries);

    /**
     * 删除系列
     *
     * @param id 系列ID
     * @return 是否成功
     */
    boolean deleteSeriesById(Long id);

    /**
     * 分页查询系列
     *
     * @param page   分页参数
     * @param series 查询条件
     * @return 分页结果
     */
    Page<VehicleSeries> pageSeries(Page<VehicleSeries> page, VehicleSeries series);

    /**
     * 根据品牌ID获取系列列表
     *
     * @param brandId 品牌ID
     * @return 系列列表
     */
    List<VehicleSeries> listSeriesByBrandId(Long brandId);

    /**
     * 根据品牌ID获取可用的系列列表（显示状态为1）
     *
     * @param brandId 品牌ID
     * @return 可用的系列列表
     */
    List<VehicleSeries> listAvailableSeriesByBrandId(Long brandId);
} 